#include <typescommon.h>
// printf常用的格式：
// %d 输出int
// %u 输出unsigned int
// %ld 输出long
// %lu 输出unsigned long
// %x 输出16进制。
// %c 输出字符。ASCII可显示字符。
// %f 打印浮点型。
// %.3f 打印浮点型,保留3位小数。
// %s 打印字符串。ASCII码或utf8或gbk等。出现乱码，说明终端配置的编码格式和程序编码格式不一致。在code工具可以查看和修改本文件的编码格式。
// \\ 打印反斜杠
// \n 换行。
// \r 回车。linux用\n就能换行了，但window需要\r\n
// \" 打印"
// %5d 右对齐打印int
// %05d 右对其打印int，不足5字节，补0。
// %20s 右对齐打印字符串，不足20字节，补空格。
// %-20s 左对齐打印字符串，不足20字节，补空格。
// %*s, size, str.指定长度打印，避免访问超界。
// %%打印%


// scanf格式类似。
// scanf("%[^\n]")一些特殊用法。
//scanf("%[a-z]", a)//%[a-z]匹配a-z任意数据,到字符串, 直到没有匹配到a-z的字符。
//scanf("%[^\n]", a)//%[^\n]匹配a-z任意数据,到字符串，直到\n。^不匹配的意思
//scanf("%*[^A]%s", a)//%*[^A]丢弃A字符之前的字符串， 从A后的字符串数输出到a。
//scanf("%10s", a)//指定长度输入到字符串a。避免崩溃。

// sprintf/fprintf与printf格式一样。
// sscanf/fscanf与scanf格式一样。
int main(int argc, char **argv)
{
    char tmp1[64], tmp2[64];
    sscanf("myabc=china", "%4[a-z]", tmp1);
    logdebug("get str1=%s", tmp1);
    sscanf("my=china", "%[^=]=%s", tmp1, tmp2);
    logdebug("get str1=%s, str2=%s", tmp1, tmp2);
    sscanf("my=china", "%*[^=]=%64s", tmp1);
    logdebug("get str1=%s", tmp1);
    return 1;
}



